<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        canvas {
            border: 1px solid red;
        }
    </style>
</head>
<body>
    <canvas width="600" height="400"></canvas>
    <script>
        var myCanvas = document.querySelector("canvas");
        var ctx = myCanvas.getContext("2d");

        // 平行线
        // y轴往上0.5px 就能画出 1px的线 默认2px
        // 蓝色 1px
        ctx.beginPath();// 开启新路径 类似于分割线 防止样式覆盖
        ctx.moveTo(100,100.5);
        ctx.lineTo(200,20);
        ctx.lineTo(300,100.5);
        ctx.strokeStyle = 'blue';
        // ctx.lineCap 给线条的两端添加帽子 会加长线长
        ctx.lineCap = "butt";
        // ctx.lineJoin 设置线条拐角的形状
        ctx.lineJoin = "butt";
        // ctx.setLineDash 设置线条为虚线 传入参数为数组->为一个周期的实线长度,虚线长度
        ctx.setLineDash([5,10]);
        // ctx.getLineDash 获得虚线的排列方式
        console.log(ctx.getLineDash);
        ctx.stroke(); 
        
        // 红色 10px
        ctx.beginPath();// 开启新路径
        ctx.moveTo(100,200);
        ctx.lineTo(200,120);
        ctx.lineTo(300,200);
        ctx.strokeStyle = 'red';
        ctx.lineWidth = '10';
        ctx.lineCap = "square";
        ctx.lineJoin = "bevel";
        ctx.stroke();

        // 黄色 20px
        ctx.beginPath();// 开启新路径
        ctx.moveTo(100,300);
        ctx.lineTo(200,220);
        ctx.lineTo(300,300);
        ctx.strokeStyle = 'yellow';
        ctx.lineWidth = '20';
        ctx.lineCap = "round";
        ctx.lineJoin = "round";
        ctx.stroke();
      
    </script>
</body>
</html>